/*
 * Copyright (c)  2020,  DataPipeline
 * All rights reserved.
 *
 * Id:Id.java   2020-07-11 00:53 wanglijun
 */
package cn.datacare.orm.annotation.id;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static cn.datacare.orm.util.StringUtils.EMPTY;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

/**
 * <p>
 * Title: Id 注解
 * </p>
 * <p>
 * Description: Id 注解
 * </p>
 * <p>
 * Copyright: Copyright (c) 2020
 * </p>
 * <p>
 * Company/Department: DataPipeline
 * </p>
 *
 * @author wanglijun
 * @version 1.0
 * @since 2020-07-11 00:53
 */
@Retention(RUNTIME)
@Target(value = {METHOD, FIELD})
public @interface Id {
    /***
     *  主键策略类型
     * @return IdType
     */
    IdType strategy() default IdType.AUTO;

    /***
     *
     * @return
     */
    String name() default EMPTY;

    /**
     * 参数
     * @return
     */
    String param() default EMPTY;
}
